#include "stdafx.h"

struct Stroke
{
    POINT position;
    unsigned int brush;
	bool breaker;

    Stroke():
         brush(1), breaker(false){}
};

class Pad
{
    public:
        Pad();

        void Render();
        void InsertStroke(POINT pos, unsigned int brush, bool breaker = false);
        void RemoveStroke(POINT pos);

        void Save();
        void Load();

		void ClipBreaker() { if (strokes.size()) strokes[strokes.size() - 1].breaker = true;}

    private:
        std::vector<Stroke> strokes;
		std::vector<std::vector<Stroke>> states;
};